#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

struct node{
    ll a,b;
    bool operator<(const node& o)const{
        return a-b<o.a-o.b;
    }
};


void solve(){
    ll n,m,res=0;
    cin>>n>>m;
    vector<node> nums(m);
    for(int i=0;i<m;i++){
        cin>>nums[i].a>>nums[i].b;
    }
    sort(nums.begin(),nums.end());
    // for(int i=0;i<m;i++){
    //     cout<<nums[i].a<<' '<<nums[i].b<<'\n';
    // }
    int idx=0;
    while(idx<m){
        if(n>=nums[idx].a){
            ll diff=(n-nums[idx].a)/(nums[idx].a-nums[idx].b)+1;
            n-=diff*(nums[idx].a-nums[idx].b);
            res+=diff;
            // cout<<diff<<'\n';
        }
        idx++;
    }
    cout<<res<<'\n';
}

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	int _=1;
	// cin>>_;
	while(_--){
		solve();
	}
	return 0;
}
